在资源系统一章中我们简略提到了几个xml中和资源相关的标签xr-assets、xr-asset-load等,这一章就来详细介绍一下它们。
# xr-asset-loadxr-asset-load是元素XRAssetLoad在xml中的对应,而这个元素则是组件AssetLoad的一个简单代理。
注意xr-asset-load标签一旦初始化,后续不可动态修改,并且即使移除后再次添加相同asset-id的资源,原先已经使用了此id的组件也不会更新。如果真的有高级需求,请使用脚本的方式。
若要在xml中使用时将其所有的参数写出,大概如下:
其他的属性不用多说,但大家可能会对weight和defer比较好奇。defer是指延迟加载,只有框架发现这个资源被组件应用了才会去真的加载它,而weight,则涉及到下一个要介绍的元素了。
在2.28.1版本后,内置资源同样可以使用xr-asset-load配合下面的xr-assets元素获取加载进度,只需要写好类型和资源ID即可:
# xr-assetsxr-assets对应于元素XRAssets,其是作为组件Assets的一个代理。
这个元素的功能非常简单,一般使用时我们会让它将xr-asset-load元素包裹起来:
可见,其实它本质上就是资源组,是为了在其下资源的加载过程中提供给开发者一些事件,来通知加载进度的。
# 事件资源组组件为元素提供了以下事件:
事件 参数 立即 wxml 时机 progress 对象,进度progress,和当前资源描述asset 是 是 场景第一次解析完毕 loaded 对象,成功的资源assets,和出的错误errors 是 是 场景销毁之前